<?php
global $CFG;
require_once($CFG->dirroot . '/blocks/formal_langs/langs_src/tools/JLexPHP/jlex.php');
require_once($CFG->dirroot . '/blocks/formal_langs/langs_src/tools/pos/pos_tagger.php');
require_once($CFG->dirroot . '/blocks/formal_langs/tokens_base.php');
require_once($CFG->dirroot . '/blocks/formal_langs/tokens/eng_simple.php');
require_once($CFG->dirroot . '/blocks/formal_langs/langs_code/predefined/eng_simple_parser.php');


class eng_simple_lexer extends JLexBase  {
	const YY_BUFFER_SIZE = 512;
	const YY_F = -1;
	const YY_NO_STATE = -1;
	const YY_NOT_ACCEPT = 0;
	const YY_START = 1;
	const YY_END = 2;
	const YY_NO_ANCHOR = 4;
	const YY_BOL = 128;
	var $YY_EOF = 129;

    private $token_count = 0;
    private $tagger = null;
    public $errors = array();
    private $N_tags  = array('NN', 'NN$', 'NNS', 'NNS$', 'NP', 'NP$', 'NPS',
                             'NPS$', 'NR','PN$', 'PP', 'PP$$', 'PPL', 'PPLS',
                             'PPO', 'PPS', 'PPSS', 'WP$', 'WPS');
    private $V_tags  = array('VB', 'VBD', 'VBG', 'VBN', 'VBZ');
    private $DT_tags = array('AT', 'DT', 'DTI', 'DTS', 'DTX');
    private $P_tags  = array('IN');
    private function return_token_by_tagger($text) {
        $tags = $this->tag($text);
        if (count($tags) == 1) {
            $tag = $tags[0]['tag'];
            /* Produce classname and object instance to return. */
            if (in_array($tag, $N_tags)) {
                return $this->return_token(eng_simple_yyParser::N, $this->yytext(), 'N');
            } else if (in_array($tag, $V_tags)) {
                return $this->return_token(eng_simple_yyParser::V, $this->yytext(), 'V');
            } else if (in_array($tag, $DT_tags)) {
                return $this->return_token(eng_simple_yyParser::DT, $this->yytext(), 'DT');
            } else if (in_array($tag, $P_tags)) {
                return $this->return_token(eng_simple_yyParser::P, $this->yytext(), 'P');
            }
        } else {
            return false;
        }
    }
    private function return_token($type, $value, $desc) {
        $res = null;
        $classname = 'block_formal_langs_token_';
        switch ($type) {
        case eng_simple_yyParser::PERIOD      : $classname .= "punctuation"; break;
        case eng_simple_yyParser::EXCLAMATION : $classname .= "punctuation"; break;
        case eng_simple_yyParser::QUESTION    : $classname .= "punctuation"; break;
        case eng_simple_yyParser::DT          : $classname .= "article"; break;
        default :                               $classname .= "word"; break;
        }
        $res = new $classname(NULL, $type, $value, $this->return_pos(), $this->token_count);
        // create token object
        $res->set_description($desc);
        // increase token count
        $this->token_count++;
        return $res;
    }
    private function return_pos() {
        $begin_line = $this->yyline;
        $begin_col = $this->yycol;
        if(strpos($this->yytext(), '\n')) {
            $lines = explode("\n", $this->yytext());
            $num_lines = count($lines);
            $end_line = $begin_line + $num_lines - 1;
            $end_col = strlen($lines[$num_lines -1]);
        } else {
            $end_line = $begin_line;
            $end_col = $begin_col + strlen($this->yytext());
        }
        $res = new block_formal_langs_node_position($begin_line, $end_line, $begin_col, $end_col);
        return $res;
    }
	protected $yy_count_chars = true;
	protected $yy_count_lines = true;

	function __construct($stream) {
		parent::__construct($stream);
		$this->yy_lexical_state = self::YYINITIAL;

    global $CFG;
    $this->tagger = new PosTagger($CFG->dirroot . '/blocks/formal_langs/langs_src/tools/pos/lexicon.txt');
	}

	private function yy_do_eof () {
		if (false === $this->yy_eof_done) {

		}
		$this->yy_eof_done = true;
	}
	const STRING = 1;
	const YYINITIAL = 0;
	static $yy_state_dtrans = array(
		0,
		12
	);
	static $yy_acpt = array(
		/* 0 */ self::YY_NOT_ACCEPT,
		/* 1 */ self::YY_NO_ANCHOR,
		/* 2 */ self::YY_NO_ANCHOR,
		/* 3 */ self::YY_NO_ANCHOR,
		/* 4 */ self::YY_NO_ANCHOR,
		/* 5 */ self::YY_NO_ANCHOR,
		/* 6 */ self::YY_NO_ANCHOR,
		/* 7 */ self::YY_NO_ANCHOR,
		/* 8 */ self::YY_NO_ANCHOR,
		/* 9 */ self::YY_NO_ANCHOR,
		/* 10 */ self::YY_NO_ANCHOR,
		/* 11 */ self::YY_NO_ANCHOR,
		/* 12 */ self::YY_NOT_ACCEPT,
		/* 13 */ self::YY_NO_ANCHOR,
		/* 14 */ self::YY_NO_ANCHOR,
		/* 15 */ self::YY_NO_ANCHOR,
		/* 16 */ self::YY_NO_ANCHOR,
		/* 17 */ self::YY_NO_ANCHOR,
		/* 18 */ self::YY_NO_ANCHOR,
		/* 19 */ self::YY_NO_ANCHOR,
		/* 20 */ self::YY_NO_ANCHOR,
		/* 21 */ self::YY_NO_ANCHOR,
		/* 22 */ self::YY_NO_ANCHOR,
		/* 23 */ self::YY_NO_ANCHOR,
		/* 24 */ self::YY_NO_ANCHOR,
		/* 25 */ self::YY_NO_ANCHOR,
		/* 26 */ self::YY_NO_ANCHOR,
		/* 27 */ self::YY_NO_ANCHOR,
		/* 28 */ self::YY_NO_ANCHOR,
		/* 29 */ self::YY_NO_ANCHOR,
		/* 30 */ self::YY_NO_ANCHOR,
		/* 31 */ self::YY_NO_ANCHOR,
		/* 32 */ self::YY_NO_ANCHOR,
		/* 33 */ self::YY_NO_ANCHOR,
		/* 34 */ self::YY_NO_ANCHOR,
		/* 35 */ self::YY_NO_ANCHOR,
		/* 36 */ self::YY_NO_ANCHOR,
		/* 37 */ self::YY_NO_ANCHOR,
		/* 38 */ self::YY_NO_ANCHOR,
		/* 39 */ self::YY_NO_ANCHOR,
		/* 40 */ self::YY_NO_ANCHOR,
		/* 41 */ self::YY_NO_ANCHOR,
		/* 42 */ self::YY_NO_ANCHOR,
		/* 43 */ self::YY_NO_ANCHOR,
		/* 44 */ self::YY_NO_ANCHOR,
		/* 45 */ self::YY_NO_ANCHOR,
		/* 46 */ self::YY_NO_ANCHOR,
		/* 47 */ self::YY_NO_ANCHOR,
		/* 48 */ self::YY_NO_ANCHOR,
		/* 49 */ self::YY_NO_ANCHOR,
		/* 50 */ self::YY_NO_ANCHOR,
		/* 51 */ self::YY_NO_ANCHOR,
		/* 52 */ self::YY_NO_ANCHOR,
		/* 53 */ self::YY_NO_ANCHOR,
		/* 54 */ self::YY_NO_ANCHOR,
		/* 55 */ self::YY_NO_ANCHOR,
		/* 56 */ self::YY_NO_ANCHOR,
		/* 57 */ self::YY_NO_ANCHOR,
		/* 58 */ self::YY_NO_ANCHOR,
		/* 59 */ self::YY_NO_ANCHOR,
		/* 60 */ self::YY_NO_ANCHOR,
		/* 61 */ self::YY_NO_ANCHOR,
		/* 62 */ self::YY_NO_ANCHOR,
		/* 63 */ self::YY_NO_ANCHOR,
		/* 64 */ self::YY_NO_ANCHOR,
		/* 65 */ self::YY_NO_ANCHOR,
		/* 66 */ self::YY_NO_ANCHOR,
		/* 67 */ self::YY_NO_ANCHOR,
		/* 68 */ self::YY_NO_ANCHOR,
		/* 69 */ self::YY_NO_ANCHOR,
		/* 70 */ self::YY_NO_ANCHOR,
		/* 71 */ self::YY_NO_ANCHOR,
		/* 72 */ self::YY_NO_ANCHOR,
		/* 73 */ self::YY_NO_ANCHOR,
		/* 74 */ self::YY_NO_ANCHOR,
		/* 75 */ self::YY_NO_ANCHOR,
		/* 76 */ self::YY_NO_ANCHOR,
		/* 77 */ self::YY_NO_ANCHOR,
		/* 78 */ self::YY_NO_ANCHOR,
		/* 79 */ self::YY_NO_ANCHOR,
		/* 80 */ self::YY_NO_ANCHOR,
		/* 81 */ self::YY_NO_ANCHOR,
		/* 82 */ self::YY_NO_ANCHOR,
		/* 83 */ self::YY_NO_ANCHOR,
		/* 84 */ self::YY_NO_ANCHOR,
		/* 85 */ self::YY_NO_ANCHOR,
		/* 86 */ self::YY_NO_ANCHOR,
		/* 87 */ self::YY_NO_ANCHOR,
		/* 88 */ self::YY_NO_ANCHOR,
		/* 89 */ self::YY_NO_ANCHOR,
		/* 90 */ self::YY_NO_ANCHOR,
		/* 91 */ self::YY_NO_ANCHOR,
		/* 92 */ self::YY_NO_ANCHOR,
		/* 93 */ self::YY_NO_ANCHOR,
		/* 94 */ self::YY_NO_ANCHOR,
		/* 95 */ self::YY_NO_ANCHOR,
		/* 96 */ self::YY_NO_ANCHOR,
		/* 97 */ self::YY_NO_ANCHOR,
		/* 98 */ self::YY_NO_ANCHOR,
		/* 99 */ self::YY_NO_ANCHOR,
		/* 100 */ self::YY_NO_ANCHOR,
		/* 101 */ self::YY_NO_ANCHOR,
		/* 102 */ self::YY_NO_ANCHOR,
		/* 103 */ self::YY_NO_ANCHOR,
		/* 104 */ self::YY_NO_ANCHOR,
		/* 105 */ self::YY_NO_ANCHOR,
		/* 106 */ self::YY_NO_ANCHOR,
		/* 107 */ self::YY_NO_ANCHOR,
		/* 108 */ self::YY_NO_ANCHOR,
		/* 109 */ self::YY_NO_ANCHOR,
		/* 110 */ self::YY_NO_ANCHOR,
		/* 111 */ self::YY_NO_ANCHOR,
		/* 112 */ self::YY_NO_ANCHOR,
		/* 113 */ self::YY_NO_ANCHOR,
		/* 114 */ self::YY_NO_ANCHOR,
		/* 115 */ self::YY_NO_ANCHOR,
		/* 116 */ self::YY_NO_ANCHOR,
		/* 117 */ self::YY_NO_ANCHOR,
		/* 118 */ self::YY_NO_ANCHOR,
		/* 119 */ self::YY_NO_ANCHOR,
		/* 120 */ self::YY_NO_ANCHOR,
		/* 121 */ self::YY_NO_ANCHOR,
		/* 122 */ self::YY_NO_ANCHOR,
		/* 123 */ self::YY_NO_ANCHOR,
		/* 124 */ self::YY_NO_ANCHOR,
		/* 125 */ self::YY_NO_ANCHOR,
		/* 126 */ self::YY_NO_ANCHOR,
		/* 127 */ self::YY_NO_ANCHOR,
		/* 128 */ self::YY_NO_ANCHOR,
		/* 129 */ self::YY_NO_ANCHOR,
		/* 130 */ self::YY_NO_ANCHOR,
		/* 131 */ self::YY_NO_ANCHOR,
		/* 132 */ self::YY_NO_ANCHOR,
		/* 133 */ self::YY_NO_ANCHOR,
		/* 134 */ self::YY_NO_ANCHOR,
		/* 135 */ self::YY_NO_ANCHOR,
		/* 136 */ self::YY_NO_ANCHOR,
		/* 137 */ self::YY_NO_ANCHOR,
		/* 138 */ self::YY_NO_ANCHOR,
		/* 139 */ self::YY_NO_ANCHOR,
		/* 140 */ self::YY_NO_ANCHOR,
		/* 141 */ self::YY_NO_ANCHOR,
		/* 142 */ self::YY_NO_ANCHOR,
		/* 143 */ self::YY_NO_ANCHOR,
		/* 144 */ self::YY_NO_ANCHOR,
		/* 145 */ self::YY_NO_ANCHOR,
		/* 146 */ self::YY_NO_ANCHOR,
		/* 147 */ self::YY_NO_ANCHOR,
		/* 148 */ self::YY_NO_ANCHOR,
		/* 149 */ self::YY_NO_ANCHOR,
		/* 150 */ self::YY_NO_ANCHOR,
		/* 151 */ self::YY_NO_ANCHOR,
		/* 152 */ self::YY_NO_ANCHOR,
		/* 153 */ self::YY_NO_ANCHOR,
		/* 154 */ self::YY_NO_ANCHOR,
		/* 155 */ self::YY_NO_ANCHOR,
		/* 156 */ self::YY_NO_ANCHOR,
		/* 157 */ self::YY_NO_ANCHOR,
		/* 158 */ self::YY_NO_ANCHOR,
		/* 159 */ self::YY_NO_ANCHOR,
		/* 160 */ self::YY_NO_ANCHOR,
		/* 161 */ self::YY_NO_ANCHOR,
		/* 162 */ self::YY_NO_ANCHOR,
		/* 163 */ self::YY_NO_ANCHOR,
		/* 164 */ self::YY_NO_ANCHOR,
		/* 165 */ self::YY_NO_ANCHOR,
		/* 166 */ self::YY_NO_ANCHOR,
		/* 167 */ self::YY_NO_ANCHOR,
		/* 168 */ self::YY_NO_ANCHOR,
		/* 169 */ self::YY_NO_ANCHOR,
		/* 170 */ self::YY_NO_ANCHOR,
		/* 171 */ self::YY_NO_ANCHOR,
		/* 172 */ self::YY_NO_ANCHOR,
		/* 173 */ self::YY_NO_ANCHOR,
		/* 174 */ self::YY_NO_ANCHOR,
		/* 175 */ self::YY_NO_ANCHOR,
		/* 176 */ self::YY_NO_ANCHOR,
		/* 177 */ self::YY_NO_ANCHOR,
		/* 178 */ self::YY_NO_ANCHOR,
		/* 179 */ self::YY_NO_ANCHOR,
		/* 180 */ self::YY_NO_ANCHOR,
		/* 181 */ self::YY_NO_ANCHOR,
		/* 182 */ self::YY_NO_ANCHOR,
		/* 183 */ self::YY_NO_ANCHOR,
		/* 184 */ self::YY_NO_ANCHOR,
		/* 185 */ self::YY_NO_ANCHOR,
		/* 186 */ self::YY_NO_ANCHOR,
		/* 187 */ self::YY_NO_ANCHOR,
		/* 188 */ self::YY_NO_ANCHOR,
		/* 189 */ self::YY_NO_ANCHOR,
		/* 190 */ self::YY_NO_ANCHOR,
		/* 191 */ self::YY_NO_ANCHOR,
		/* 192 */ self::YY_NO_ANCHOR,
		/* 193 */ self::YY_NO_ANCHOR,
		/* 194 */ self::YY_NO_ANCHOR,
		/* 195 */ self::YY_NO_ANCHOR,
		/* 196 */ self::YY_NO_ANCHOR,
		/* 197 */ self::YY_NO_ANCHOR,
		/* 198 */ self::YY_NO_ANCHOR,
		/* 199 */ self::YY_NO_ANCHOR,
		/* 200 */ self::YY_NO_ANCHOR,
		/* 201 */ self::YY_NO_ANCHOR,
		/* 202 */ self::YY_NO_ANCHOR,
		/* 203 */ self::YY_NO_ANCHOR,
		/* 204 */ self::YY_NO_ANCHOR,
		/* 205 */ self::YY_NO_ANCHOR,
		/* 206 */ self::YY_NO_ANCHOR,
		/* 207 */ self::YY_NO_ANCHOR,
		/* 208 */ self::YY_NO_ANCHOR,
		/* 209 */ self::YY_NO_ANCHOR,
		/* 210 */ self::YY_NO_ANCHOR,
		/* 211 */ self::YY_NO_ANCHOR,
		/* 212 */ self::YY_NO_ANCHOR,
		/* 213 */ self::YY_NO_ANCHOR,
		/* 214 */ self::YY_NO_ANCHOR,
		/* 215 */ self::YY_NO_ANCHOR,
		/* 216 */ self::YY_NO_ANCHOR,
		/* 217 */ self::YY_NO_ANCHOR,
		/* 218 */ self::YY_NO_ANCHOR,
		/* 219 */ self::YY_NO_ANCHOR,
		/* 220 */ self::YY_NO_ANCHOR,
		/* 221 */ self::YY_NO_ANCHOR,
		/* 222 */ self::YY_NO_ANCHOR,
		/* 223 */ self::YY_NO_ANCHOR,
		/* 224 */ self::YY_NO_ANCHOR,
		/* 225 */ self::YY_NO_ANCHOR,
		/* 226 */ self::YY_NO_ANCHOR,
		/* 227 */ self::YY_NO_ANCHOR,
		/* 228 */ self::YY_NO_ANCHOR,
		/* 229 */ self::YY_NO_ANCHOR,
		/* 230 */ self::YY_NO_ANCHOR,
		/* 231 */ self::YY_NO_ANCHOR
	);
		static $yy_cmap = array(
 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 28, 29, 29, 28, 29, 29, 29, 29, 29, 29,
 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 2, 29, 29, 29, 29, 29, 29,
 29, 29, 29, 29, 29, 29, 1, 29, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 29, 29,
 29, 29, 29, 3, 29, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 29, 29, 29, 29, 29, 29, 4, 7, 24,
 18, 17, 10, 25, 21, 14, 26, 23, 22, 13, 15, 11, 20, 27, 12, 5, 6, 9, 16, 19,
 27, 8, 27, 29, 29, 29, 29, 29, 0, 0,);

		static $yy_rmap = array(
 0, 1, 1, 1, 1, 2, 3, 4, 1, 5, 5, 5, 6, 5, 7, 8, 9, 10, 11, 12,
 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 17, 111,
 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 9, 129, 130,
 131, 132, 133, 134, 52, 135, 136, 137, 138, 30, 139, 140, 19, 141, 142, 143, 12, 144, 145, 146,
 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 142, 162, 163, 164, 107,
 5, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
 184, 185, 186, 187, 188, 189, 190, 191, 190, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
 203, 204, 205, 206, 207, 125, 208, 209, 210, 211, 212, 213,);

		static $yy_nxt = array(
array(
 1, 2, 3, 4, 5, 6, 14, 17, 180, 20, 200, 23, 207, 211, 25, 212, 213, 214, 215, 216,
 217, 218, 219, 220, 221, 222, 223, 180, 7, 8, 7,
),
array(
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 9, 9, 224, 180, 225, 226, 180, 27, 180, 180, 227, 180, 180, 180, 180,
 228, 180, 229, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 230, 180, 231, 180, 180, 29, 180, 31, 180, 180, 33, 34, 180, 35, 180, 36,
 180, 185, 180, 180, 37, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, 7,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
 8, 8, 8, 8, 8, 8, 8, 8, -1, 8, 8,
),
array(
 -1, -1, -1, -1, 38, 180, 180, 180, 180, 39, 180, 15, 186, 180, 180, 180, 180, 40, 180, 180,
 180, 41, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 16, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 42, 180, 180, 180, 9, 43, 180, 44, 45, 180, 46, 180, 180, 47, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 9, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 10, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 48, 180, 180, 180, 180,
 9, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 126, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 154, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 54, 18, 180, 180, 180, 180, 9, 208, 180, 180, 55,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 21, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 11, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 161, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 209, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 164, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 100, 180, 180, 180, 180, 10, 180, 180, 100, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 10, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 96, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 101, 180, 180, 180, 180, 180, 180, 102, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 103, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 104, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 55, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 190, 180, 180, 180, 180, 180, 180, 180, 96, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 27, 78, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 13, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 19, 180, 180, 180, 180, 180, 180, 180, 78, 107, 180, 180, 180, 180,
 180, 180, 108, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 9, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 10, 180, 180, 109, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 196, 180, 180, 110, 180, 180, 111, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 112, 180, 180, 180, 180, 180, 103, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 69, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 113, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 197, 180, 180, 22, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 206, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 114, 180, 180, 180, 180, 180, 180, 115, 180, 24, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 103, 9, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 116, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 204, 180, 180,
 180, 180, 180, 180, 180, 117, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 118, 180, 180, 180, 10, 180, 180, 119, 180, 180, 180, 180, 180, 195, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 9, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 10, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 121, 180, 180, 180, 180, 180, 180, 67, 180, 180, 180, 180, 180,
 180, 180, 180, 69, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 112, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 103, 69, 180, 122, 180, 180, 180, 27, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 96, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 123, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 96, 180, 180, 180, 180, 180, 180, 180, 180, 103, 10, 180, 180, 180, 180,
 10, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 114, 180, 180, 180, 180, 67, 124, 10, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78, 180, 180, 180, 180,
 180, 180, 96, 180, 69, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 125, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 69, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 69, 210, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 120, 78, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 78, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 183,
 180, 180, 55, 180, 127, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 27, 180, 180, 180, 180, 180, 180, 180, 128, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 78, 69, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 96, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 97, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 123, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 130, 180, 180, 180, 180, 180, 180, 180, 180, 131, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 132, 180, 55, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180,
 180, 180, 180, 180, 180, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 97, 180, 26, 180, 180, 180, 180, 180, 180, 180, 180, 28, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 55, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 69, 180, 180, 180, 180, 180, 96, 134, 69, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 55, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 69, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 136, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 96, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 117, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 180, 180, 180, 180, 180, 10, 139, 180, 10, 180, 180, 180, 180,
 10, 180, 180, 69, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 10, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 67, 180, 180, 180, 180, 180, 180, 10,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 140, 180, 180, 180, 180, 180, 180, 141, 180, 180, 39, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 143, 180, 180, 180, 180, 39, 180, 144, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 10, 10, 55, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 54, 180, 180, 180, 180, 180, 180, 148, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 27, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 10, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 102, 180, 180, 180, 180, 180, 180, 180, 180, 180, 150, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10,
 10, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, 180,
 180, 180, 180, 69, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 11, 180, 118, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 69, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 10,
 10, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 151, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 30, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 10, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 96, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 103, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 152, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 10, 180, 180, 10, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 123, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 155, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 9, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 78, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 123,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 9, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 157, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 67, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 97, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 158, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 10, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 9, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 160, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 10, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 137, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 67, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 67, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 9, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 123, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 10, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 133, 180, 180,
 180, 180, 180, 10, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 69, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 162, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 163, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 10, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 164, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 96, 180, 180, 180, 180, 180, 180, 180, 32,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 165, 180, 166, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 137, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 69, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 137, 180, 180, 180, 180, 180, 180, 180, 180, 180, 198, 180, 180, 69, 180,
 69, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 69, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 9, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 118, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 100, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 167, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 168, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 169, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 150, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 170, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 97, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 182, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 67, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 67, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 171, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 163, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 130, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 27, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 10, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 173, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 163, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 176, 180, 180, 177, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 96, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 67,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 178, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 178, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 179, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 199, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 175, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 135, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 105, 180, 180, 180, 180, 180, 180, 106, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 69, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 142, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 146, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 145, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 69, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 69, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 78, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 10, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 129, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 137, 138, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 156, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 114, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 153, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 172, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 174, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 49, 180, 180, 180, 180, 180, 180, 50, 51, 180, 52, 180, 180, 202, 180, 180,
 180, 180, 53, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 133, 180, 180, 180, 180, 180, 180, 78, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 78, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 147, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 103, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 149, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 120, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 56, 180, 180, 180, 180, 57, 180, 58, 180, 180, 59, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 123, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 159, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 60, 180, 180, 180, 180, 180, 180, 61, 180, 180, 62, 180, 180, 63, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 64, 180, 180, 180, 180, 180, 180, 65, 180, 180, 180, 180, 180, 66, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 67, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 68, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 69, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 70, 180, 180, 180, 180, 68, 180, 71, 72, 180, 73, 180, 180, 74, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 75, 180, 180, 180, 180, 180, 180, 193, 180, 180, 76, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 77, 180, 180, 180, 180, 180, 180, 78, 180, 180, 79, 180, 180, 80, 180, 180,
 180, 180, 201, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 81, 180, 180, 180, 180, 180, 180, 82, 180, 180, 83, 180, 180, 192, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 84, 180, 180, 180, 180, 184, 180, 85, 180, 180, 86, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 194, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 87, 180, 180, 180, 180, 88, 180, 89, 90, 180, 180, 180, 180, 180, 180, 180,
 180, 187, 91, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 64, 180, 180, 180, 180, 67, 180, 189, 188, 180, 92, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 93, 180, 180, 180, 180, 203, 180, 84, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 94, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 208, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 205, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 190, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 95, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 55, 180, 180, 180, 180, 180,
 180, 180, 180, 180, 96, 180, 180, 180, -1, -1, -1,
),
array(
 -1, -1, -1, -1, 97, 180, 180, 180, 180, 180, 180, 191, 98, 180, 180, 180, 180, 99, 180, 180,
 180, 180, 180, 180, 180, 180, 180, 180, -1, -1, -1,
),
);

	public function /*Yytoken*/ next_token ()
 {
		$yy_anchor = self::YY_NO_ANCHOR;
		$yy_state = self::$yy_state_dtrans[$this->yy_lexical_state];
		$yy_next_state = self::YY_NO_STATE;
		$yy_last_accept_state = self::YY_NO_STATE;
		$yy_initial = true;

		$this->yy_mark_start();
		$yy_this_accept = self::$yy_acpt[$yy_state];
		if (self::YY_NOT_ACCEPT != $yy_this_accept) {
			$yy_last_accept_state = $yy_state;
			$this->yy_mark_end();
		}
		while (true) {
			if ($yy_initial && $this->yy_at_bol) $yy_lookahead = self::YY_BOL;
			else $yy_lookahead = $this->yy_advance();
			$yy_next_state = self::$yy_nxt[self::$yy_rmap[$yy_state]][self::$yy_cmap[$yy_lookahead]];
			if ($this->YY_EOF == $yy_lookahead && true == $yy_initial) {
				$this->yy_do_eof();
				return null;
			}
			if (self::YY_F != $yy_next_state) {
				$yy_state = $yy_next_state;
				$yy_initial = false;
				$yy_this_accept = self::$yy_acpt[$yy_state];
				if (self::YY_NOT_ACCEPT != $yy_this_accept) {
					$yy_last_accept_state = $yy_state;
					$this->yy_mark_end();
				}
			}
			else {
				if (self::YY_NO_STATE == $yy_last_accept_state) {
					throw new Exception("Lexical Error: Unmatched Input.");
				}
				else {
					$yy_anchor = self::$yy_acpt[$yy_last_accept_state];
					if (0 != (self::YY_END & $yy_anchor)) {
						$this->yy_move_end();
					}
					$this->yy_to_mark();
					switch ($yy_last_accept_state) {
						case 1:
							
						case -2:
							break;
						case 2:
							{ return $this->return_token(eng_simple_yyParser::PERIOD, $this->yytext(), "PERIOD"); }
						case -3:
							break;
						case 3:
							{ return $this->return_token(eng_simple_yyParser::EXCLAMATION, $this->yytext(), "EXCLAMATION"); }
						case -4:
							break;
						case 4:
							{ return $this->return_token(eng_simple_yyParser::QUESTION, $this->yytext(), "QUESTION"); }
						case -5:
							break;
						case 5:
							{ return $this->return_token(eng_simple_yyParser::DT, $this->yytext(), "DT"); }
						case -6:
							break;
						case 6:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -7:
							break;
						case 7:
							{}
						case -8:
							break;
						case 8:
							{ /* process bad input */
    $error = array();
    $error['line'] = $this->yyline;
    $error['column'] = $this->yycol;
    $error['input'] = $this->yytext();
    $this->errors[] = $error;
 }
						case -9:
							break;
						case 9:
							{ return $this->return_token(eng_simple_yyParser::P, $this->yytext(), "P"); }
						case -10:
							break;
						case 10:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -11:
							break;
						case 11:
							{ return $this->return_token(eng_simple_yyParser::V, $this->yytext(), "V"); }
						case -12:
							break;
						case 13:
							{ return $this->return_token(eng_simple_yyParser::DT, $this->yytext(), "DT"); }
						case -13:
							break;
						case 14:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -14:
							break;
						case 15:
							{ return $this->return_token(eng_simple_yyParser::P, $this->yytext(), "P"); }
						case -15:
							break;
						case 16:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -16:
							break;
						case 17:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -17:
							break;
						case 18:
							{ return $this->return_token(eng_simple_yyParser::P, $this->yytext(), "P"); }
						case -18:
							break;
						case 19:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -19:
							break;
						case 20:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -20:
							break;
						case 21:
							{ return $this->return_token(eng_simple_yyParser::P, $this->yytext(), "P"); }
						case -21:
							break;
						case 22:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -22:
							break;
						case 23:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -23:
							break;
						case 24:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -24:
							break;
						case 25:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -25:
							break;
						case 26:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -26:
							break;
						case 27:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -27:
							break;
						case 28:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -28:
							break;
						case 29:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -29:
							break;
						case 30:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -30:
							break;
						case 31:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -31:
							break;
						case 32:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -32:
							break;
						case 33:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -33:
							break;
						case 34:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -34:
							break;
						case 35:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -35:
							break;
						case 36:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -36:
							break;
						case 37:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -37:
							break;
						case 38:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -38:
							break;
						case 39:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -39:
							break;
						case 40:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -40:
							break;
						case 41:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -41:
							break;
						case 42:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -42:
							break;
						case 43:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -43:
							break;
						case 44:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -44:
							break;
						case 45:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -45:
							break;
						case 46:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -46:
							break;
						case 47:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -47:
							break;
						case 48:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -48:
							break;
						case 49:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -49:
							break;
						case 50:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -50:
							break;
						case 51:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -51:
							break;
						case 52:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -52:
							break;
						case 53:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -53:
							break;
						case 54:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -54:
							break;
						case 55:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -55:
							break;
						case 56:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -56:
							break;
						case 57:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -57:
							break;
						case 58:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -58:
							break;
						case 59:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -59:
							break;
						case 60:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -60:
							break;
						case 61:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -61:
							break;
						case 62:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -62:
							break;
						case 63:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -63:
							break;
						case 64:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -64:
							break;
						case 65:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -65:
							break;
						case 66:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -66:
							break;
						case 67:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -67:
							break;
						case 68:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -68:
							break;
						case 69:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -69:
							break;
						case 70:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -70:
							break;
						case 71:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -71:
							break;
						case 72:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -72:
							break;
						case 73:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -73:
							break;
						case 74:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -74:
							break;
						case 75:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -75:
							break;
						case 76:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -76:
							break;
						case 77:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -77:
							break;
						case 78:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -78:
							break;
						case 79:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -79:
							break;
						case 80:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -80:
							break;
						case 81:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -81:
							break;
						case 82:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -82:
							break;
						case 83:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -83:
							break;
						case 84:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -84:
							break;
						case 85:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -85:
							break;
						case 86:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -86:
							break;
						case 87:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -87:
							break;
						case 88:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -88:
							break;
						case 89:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -89:
							break;
						case 90:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -90:
							break;
						case 91:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -91:
							break;
						case 92:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -92:
							break;
						case 93:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -93:
							break;
						case 94:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -94:
							break;
						case 95:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -95:
							break;
						case 96:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -96:
							break;
						case 97:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -97:
							break;
						case 98:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -98:
							break;
						case 99:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -99:
							break;
						case 100:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -100:
							break;
						case 101:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -101:
							break;
						case 102:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -102:
							break;
						case 103:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -103:
							break;
						case 104:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -104:
							break;
						case 105:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -105:
							break;
						case 106:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -106:
							break;
						case 107:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -107:
							break;
						case 108:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -108:
							break;
						case 109:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -109:
							break;
						case 110:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -110:
							break;
						case 111:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -111:
							break;
						case 112:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -112:
							break;
						case 113:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -113:
							break;
						case 114:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -114:
							break;
						case 115:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -115:
							break;
						case 116:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -116:
							break;
						case 117:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -117:
							break;
						case 118:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -118:
							break;
						case 119:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -119:
							break;
						case 120:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -120:
							break;
						case 121:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -121:
							break;
						case 122:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -122:
							break;
						case 123:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -123:
							break;
						case 124:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -124:
							break;
						case 125:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -125:
							break;
						case 126:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -126:
							break;
						case 127:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -127:
							break;
						case 128:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -128:
							break;
						case 129:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -129:
							break;
						case 130:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -130:
							break;
						case 131:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -131:
							break;
						case 132:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -132:
							break;
						case 133:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -133:
							break;
						case 134:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -134:
							break;
						case 135:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -135:
							break;
						case 136:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -136:
							break;
						case 137:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -137:
							break;
						case 138:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -138:
							break;
						case 139:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -139:
							break;
						case 140:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -140:
							break;
						case 141:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -141:
							break;
						case 142:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -142:
							break;
						case 143:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -143:
							break;
						case 144:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -144:
							break;
						case 145:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -145:
							break;
						case 146:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -146:
							break;
						case 147:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -147:
							break;
						case 148:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -148:
							break;
						case 149:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -149:
							break;
						case 150:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -150:
							break;
						case 151:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -151:
							break;
						case 152:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -152:
							break;
						case 153:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -153:
							break;
						case 154:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -154:
							break;
						case 155:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -155:
							break;
						case 156:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -156:
							break;
						case 157:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -157:
							break;
						case 158:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -158:
							break;
						case 159:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -159:
							break;
						case 160:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -160:
							break;
						case 161:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -161:
							break;
						case 162:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -162:
							break;
						case 163:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -163:
							break;
						case 164:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -164:
							break;
						case 165:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -165:
							break;
						case 166:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -166:
							break;
						case 167:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -167:
							break;
						case 168:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -168:
							break;
						case 169:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -169:
							break;
						case 170:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -170:
							break;
						case 171:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -171:
							break;
						case 172:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -172:
							break;
						case 173:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -173:
							break;
						case 174:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -174:
							break;
						case 175:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -175:
							break;
						case 176:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -176:
							break;
						case 177:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -177:
							break;
						case 178:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -178:
							break;
						case 179:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -179:
							break;
						case 180:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -180:
							break;
						case 181:
							{ return $this->return_token(eng_simple_yyParser::P, $this->yytext(), "P"); }
						case -181:
							break;
						case 182:
							{ return $this->return_token(eng_simple_yyParser::N, $this->yytext(), "N"); }
						case -182:
							break;
						case 183:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -183:
							break;
						case 184:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -184:
							break;
						case 185:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -185:
							break;
						case 186:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -186:
							break;
						case 187:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -187:
							break;
						case 188:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -188:
							break;
						case 189:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -189:
							break;
						case 190:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -190:
							break;
						case 191:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -191:
							break;
						case 192:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -192:
							break;
						case 193:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -193:
							break;
						case 194:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -194:
							break;
						case 195:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -195:
							break;
						case 196:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -196:
							break;
						case 197:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -197:
							break;
						case 198:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -198:
							break;
						case 199:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -199:
							break;
						case 200:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -200:
							break;
						case 201:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -201:
							break;
						case 202:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -202:
							break;
						case 203:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -203:
							break;
						case 204:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -204:
							break;
						case 205:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -205:
							break;
						case 206:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -206:
							break;
						case 207:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -207:
							break;
						case 208:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -208:
							break;
						case 209:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -209:
							break;
						case 210:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -210:
							break;
						case 211:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -211:
							break;
						case 212:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -212:
							break;
						case 213:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -213:
							break;
						case 214:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -214:
							break;
						case 215:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -215:
							break;
						case 216:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -216:
							break;
						case 217:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -217:
							break;
						case 218:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -218:
							break;
						case 219:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -219:
							break;
						case 220:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -220:
							break;
						case 221:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -221:
							break;
						case 222:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -222:
							break;
						case 223:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -223:
							break;
						case 224:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -224:
							break;
						case 225:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -225:
							break;
						case 226:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -226:
							break;
						case 227:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -227:
							break;
						case 228:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -228:
							break;
						case 229:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -229:
							break;
						case 230:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -230:
							break;
						case 231:
							{
    $token = $this->return_token_by_tagger($this->yytext());
    if ($token) {
        return $token;
    }
 }
						case -231:
							break;
						default:
						$this->yy_error('INTERNAL',false);
					case -1:
					}
					$yy_initial = true;
					$yy_state = self::$yy_state_dtrans[$this->yy_lexical_state];
					$yy_next_state = self::YY_NO_STATE;
					$yy_last_accept_state = self::YY_NO_STATE;
					$this->yy_mark_start();
					$yy_this_accept = self::$yy_acpt[$yy_state];
					if (self::YY_NOT_ACCEPT != $yy_this_accept) {
						$yy_last_accept_state = $yy_state;
						$this->yy_mark_end();
					}
				}
			}
		}
	}
}
